VSCode编写C++文件时头文件报错,下划线遇到无法打开源文件的问题

您所在的位置:网站首页 c++ split头文件 VSCode编写C++文件时头文件报错,下划线遇到无法打开源文件的问题

VSCode编写C++文件时头文件报错,下划线遇到无法打开源文件的问题

2023-03-15 22:48| 来源: 网络整理| 查看: 265

此种问题一般是使用LLVM+MINGW时遇到的,本人把c_cpp_properties.json中compilerPath从g++.exe修改成了C:/mingw64/bin/clang++.exe,导致新编写的cpp文件头文件红下划线报错,提示无法找到源文件iostream。 先给出解决方案: 1.把clang++修改为g++ 2.保留clang++, 修改compilerPath下方includePath,添加

"C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++", "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32", "C:/mingw64/x86_64-w64-mingw32/include"

具体路径根据你安装mingw的位置进行修改。 也可以改成:

"C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/**", "C:/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32/**", "C:/mingw64/x86_64-w64-mingw32/include/**"

但是请注意,博主第一次修改成上述形式时VSCODE仍然报错,修改成第一种后,没报错后再修改成第二种才没报错,搞不懂原因。 原因分析: 你可以输入 clang++ -v -x c -E - 来看默认include进来文件夹,在默认情况下,是不包括mingw的头文件的,所以导致vscode报错找不到头文件。需要指定--target=x86_64-w64-mingw才行。 也就是 clang++ -v -x c --target=x86_64-w64-mingw -E - 这样才会include进mingw默认的path。 但是这个json里好像只能设置compilerPath 不知道能不能直接添加参数,本人还没尝试 输入g++ -v -x c -E -时,默认include进mingw文件,因此不会报错。 如果后续在vscode使用clang++编译提示找不到头文件,请在tasks.json中args参数下添加--target=x86_64-w64-mingw. 另外,博主在使用新版本llvm配mingw时遇到float.h不对的问题,请参考博主的这篇博文修改:float.h报错解决

本文来自博客园,作者:JessieLin,转载请注明原文链接:https://www.cnblogs.com/6543x1/p/17216142.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3